/* 
 * File:   Board.h
 * Author: rc
 *
 * Created on May 27, 2010, 5:09 PM
 */

#ifndef _BOARD_H
#define	_BOARD_H
#include <set>
#include <utility>


class Board {
public:
    enum Colors {
        BLACK,
        WHITE,
        NEUTRAL
    };
    
    /* Value 1 describes the "color" of the triangle, Value 2 describes
     * the number of pieces on the triangle.
     */
    typedef std::pair<Colors, int> triangle;
    
    Board();
    Board(const Board& orig);
    virtual ~Board();
    
    /*void addPiece(Colors, int);
    void removePiece(int);
    //void movePiece(int src, int dest);
    triangle* getTriangleData(int) const;*/
    triangle* getTriangles();

    //NOTE: here should be some function to fetch triangles.
    //Move add/remove/move to Controller.
private:     
    triangle mTriangles[24]; //The triangles on the board
};

#endif	/* _BOARD_H */

